Saltar para o conteúdo

Junção theta (álgebra relacional)

Origem: Wikipédia, a enciclopédia livre.

A Junção Theta, também conhecida como Junção Condicional é representada pelo símbolo ⋈, e baseia-se em uma combinação dos operadores produto cartesiano e seleção. Ela cria uma relação pela combinação dos campos de uma relação com aquelas de uma outra baseada em uma comparação de valores entre colunas que não necessariamente tem o mesmo nome.

A sintaxe da junção theta é:

<tabela1> ⋈ <critério de seleção> <tabela2>

Onde:
<tabela> é o nome de uma tabela, ou expressão algébrica que resulte em uma tabela
<critério de seleção> é uma expressão booleana envolvendo literais e valores das colunas das duas tabelas envolvidas.

Exemplo Tabelas Hipotéticas

[editar | editar código-fonte]

A seguir um exemplo com tabelas hipotéticas:

Imaginemos que possuímos as tabelas TabelaA e TabelaB conforme mostra abaixo:

TabelaA

c d
ValorA 50
ValorB 65
ValorC 70

TabelaB

e f
ValorD 50
ValorE 80
ValorF 70

Com a relação abaixo iremos reproduzir um produto cartesiano das duas tabelas selecionando apenas as linhas em que a coluna "d" da tabela "TabelaA" seja igual a coluna "f" da tabela "TabelaB".

TabelaA ⋈ TabelaA.d = TabelaB.f TabelaB

c d e f
ValorA 50 ValorD 50
ValorC 70 ValorF 70

A seguir um exemplo com tabelas reais:

Suponhamos que temos as tabelas "Emprestimo" e "Conta" que guardam respectivamente informações das contas dos clientes de um banco e informações de empréstimos realizados a esses clientes:

Emprestimo

nomeAgencia nroEmprestimo nomeCliente valor
Assis Brasil 100 Pedro 7000
Verde 200 Maria 11000
Assis Brasil 400 João 5000
São João 500 Ana 35000

Conta

nomeAgencia nroConta nomeCliente saldo
Verde 50 Maria 3000
Farrapos 100 Denise 2000
Farrapos 200 Pedro 300
São João 300 Ana 2500
São João 400 João 1000

A seguir desejamos obter os dados dos empréstimos e das contas onde o nome do cliente da conta e o nome do cliente do empréstimo sejam iguais e o valor do empréstimo é maior que o saldo da conta do cliente.

Empréstimo ⋈ Conta.nomeCliente = Emprestimo.nomeCliente e Emprestimo.valor > Conta.saldo Conta

Conta.nomeAgencia nroConta Conta.nomeCliente saldo Emprestimo.nomeAgencia nroEmprestimo Emprestimo.nomeCliente valor
Farrapos 200 Pedro 300 Assis Brasil 100 Pedro 7000
Verde 50 Maria 3000 Verde 200 Maria 11000
São João 400 João 1000 Assis Brasil 400 João 5000
São João 300 Ana 2500 São João 500 Ana 35000

Referências gerais

[editar | editar código-fonte]